//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "GrupoDeBolas.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

/* construye las 15 bolas del tablero en su posicion inicial*/
/*
            O
           O O
          O X O      la X es la bola negra
         O O O O
        O O O O O

*/

// radio,sl,st,numero esferas, punto (x,y,z) de inicio, separacion en X
void GrupoDeBolas::construirEsferas(float radio,int sl, int st,float x, float y, float z,
        float sepX, float sepZ,float sepEntreBol)
{
        int j = 0;
        for (int i = 5; i > 0; i--){
                construirFilaEsferas(radio,sl,st,i,x+j*sepX,y,z+j*sepZ,sepEntreBol);
                j++;
        }
}


void GrupoDeBolas::construirFilaEsferas(float radio, int sl, int st, int numEsf,
        float xIni, float yIni, float zIni,float sep){
        //if numEsf 3 -> la de en medio es la bola negra

        Objeto3D* esfera;
        Colores color;



        for (int i = 0; i < numEsf; i++){
                color = Colores(rand()%6); //son 9 colores, asi no salen ni blanco ni negro
                if (numEsf == 3 && i == 1)
                        esfera = new Esfera(radio,sl,st,new Color(NEGRO));
                else
                        esfera = new Esfera(radio,sl,st,new Color(color));
                esfera->translate(xIni+sep*i,yIni,zIni);
                this->insertarElem(esfera);
        }
}
